From fa3b803de9aef33208a71c6e2113deac468e5f8d Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Thu, 5 Sep 2013 18:45:13 +0200 Subject: [PATCH] cellrendererpixbuf: Don't eat states Even when not following states, blacklist the states we don't follow instead of whitelisting the ones we do. This way, we don't accidentally eat new ones like the text direction flags. Fixes a bug where text direction wasn't available when rendering stock items. https://bugzilla.gnome.org/show_bug.cgi?id=702423 --- gtk/gtkcellrendererpixbuf.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/gtk/gtkcellrendererpixbuf.c b/gtk/gtkcellrendererpixbuf.c index 1ae79950e1..1af8c423ea 100644 --- a/gtk/gtkcellrendererpixbuf.c +++ b/gtk/gtkcellrendererpixbuf.c @@ -531,13 +531,10 @@ gtk_cell_renderer_pixbuf_render (GtkCellRenderer *cell, context = gtk_widget_get_style_context (widget); gtk_style_context_save (context); - state = GTK_STATE_FLAG_NORMAL; + state = gtk_cell_renderer_get_state (cell, widget, flags); - if (priv->follow_state) - state = gtk_cell_renderer_get_state (cell, widget, flags); - else if (!gtk_widget_get_sensitive (widget) || - !gtk_cell_renderer_get_sensitive (cell)) - state |= GTK_STATE_FLAG_INSENSITIVE; + if (!priv->follow_state) + state &= ~(GTK_STATE_FLAG_FOCUSED | GTK_STATE_FLAG_PRELIGHT | GTK_STATE_FLAG_SELECTED); gtk_style_context_set_state (context, state); gtk_style_context_add_class (context, GTK_STYLE_CLASS_IMAGE); -- 2.30.2